Copyright: VBXpress


Table of Contents
VBXpress VBX Design System

The VBXpress Control Editor main screen is broken into parts.

The toolbar

The Define VBX dialog box

The palette dialog box

The control you are creating

You may also get help on VBX

EVENTS

PROPERTIES

VERSION INFORMATION


VBX Events, Properties & Version Information

On this screen you choose which Event and/or Properties your control will have. You also enter version information for your control.

Events

Properties

Version Information


Events

For information on using events with Visual C++ see chapter 17 Programming with VBX Controls in the Visual C++ Class Library Users Guide and Technical Note #27: Emulation Support for Visual Basic Custom Controls which is found in MFCNOTES.HLP, the Visual C++ help file. Also, see Visual Basic 3.0 Professional Features Book 1, Appendix B Using Custom Controls with Visual C++.

ButtonOver(1)	ButtonPress(2)	Click	DblClick

DragDrop(1)	DragOver	GotFocus	KeyDown

KeyPress	KeyUp	LostFocus	MouseDown

MouseMove	MouseUp	SliderChange(4)

1 Only available in Visual Basic

2 Not available for slider controls

3 Same as CtlName property in Visual Basic 1.0 and Visual C++.

4 Applies to slider controls only.


ButtonOver
ButtonOver Event

Description

Fired when mouse is passed over a control.

Visual Basic

Sub MyCtrl_ButtonOver (Button As Integer)

Remarks

Button is the VBXpress control button the mouse is over.


ButtonPress
ButtonPress Event

Description

Fired when user activates a control button in accordance with the controls action style.

Visual Basic

Sub MyCtrl_ButtonPress (Button As Integer, Mouse As Integer)

Remarks

Button is the VBXpress control button number

Mouse is the mouse key pressed (1 or 2)


Click
Click Event

Description

Fired when the mouse or keyboard is used to activate the control.

Visual Basic

Sub MyCtrl_Click ()


DblClick
DblClick Event

Description

Fired when the mouse is used to perform a Double-Click on the control.

Visual Basic

Sub MyCtrl_DblClick ()


DragDrop
DragDrop Event

Description

Fired when a drag and drop operation is released over the control.

Visual Basic

Sub MyCtrl_DragDrop (Source As Control, X As Single, Y As Single)

Remarks

Source is the control dropped X and Y represent the mouse coordinates when the control was dropped.


DragOver
DragOver Event

Description

Fired when a control is dragged over the control.

Visual Basic

Sub MyCtrl_DragOver (Source As Control, X As Single, Y As Single, State As Integer)

Remarks

Source is the control dropped X and Y represent the mouse coordinates when the control was dropped. State is state of the control being dragged in relation to a target:

0 - Source control is within the range of a target.

1 - Source control is out of the range of a target.

2 - Source control has moved from one position in the target to another.


GotFocus
GotFocus Event

Description

Fired when the control get mouse and keyboard focus.

Visual Basic

Sub MyCtrl_GotFocus ()


KeyDown
KeyDown Event

Description

Fired when a key is pressed and the control as focus.

Visual Basic

Sub MyCtrl_KeyDown (KeyCode As Integer, Shift As Integer)

Remarks

KeyCode is the key pressed. Shift indicates is shift keys are down.


KeyPress
KeyPress Event

Description

Fired when a key is pressed and the control as focus.

Visual Basic

Sub MyCtrl_KeyPress (KeyAscii As Integer)

Remarks

KeyAscii is the ASCII value of the key pressed.


KeyUp
KeyUp Event

Description

Fired when a key is pressed and released and the control as focus.

Visual Basic

Sub MyCtrl_KeyUp (KeyCode As Integer, Shift As Integer)

Remarks

KeyCode is the key pressed. Shift indicates is shift keys are down.


LostFocus
LostFocus Event

Description

Fired when the control loses input focus.

Visual Basic

Sub MyCtrl_LostFocus ()


MouseDown
MouseDown Event

Description

Fired when the mouse is pressed on the control.

Visual Basic

Sub MyCtrl_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)

Remarks

Button indicates the mouse button pressed. Shift indicates is a shift key is down. X and Y indicate the mouse coordinates.


MouseMove
MouseMove Event

Description

Fired when the mouse is moved over the control.

Visual Basic

Sub MyCtrl_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

Remarks

Button indicates the mouse button pressed. Shift indicates is a shift key is down. X and Y indicate the mouse coordinates.


MouseUp
MouseUp Event

Description

Fired when the mouse is released over the control.

Visual Basic

Sub MyCtrl_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)

Remarks

Button indicates the mouse button pressed. Shift indicates is a shift key is down. X and Y indicate the mouse coordinates.


SliderChange
SliderChange Event

Description

Fired when the value of a slider changes.

Visual Basic

Sub MyCtrl_SliderChange (Value As Long)


Properties

About	BdyClick(4)	BorderStyle	BtnCnt(2)

BtnPtr(2)	BtnState(2)	Caption	Clicks(4)

Cols(2)	DragIcon(1)	DragMode(1)	Enabled

Float	hBMP	hDC	hWnd

Index(1)	Left	MaxVal(4)	MinVal(4)

MousePointer	Name(5)	Parent(1)	Rows(2)

Style	TabIndex	TabStop	Tag

Top	Value*	Visible

1 Only available in Visual Basic

2 Not available for slider controls

3 Same as CtlName property in Visual Basic 1.0 and Visual C++.

4 Applies to slider controls only.


About
About Property

Description

Provides a system modal window for displaying version and other information about the control.

Remarks

Use About Box to display information about your control to users.


BdyClick
BdyClick Property

Description

Sets or returns whether or not slider control allows user to click on either side of a  slider arm to initiate arm movement.

Visual Basic

[form].MyCtrl.BdyClick[ = {True | False} ]Visual C++

pMyCtrl->GetNumProperty(BdyClick)

pMyCtrl->SetNumProperty(BdyClick, {True | False})

Remarks

Setting                Description

False         (Default) Disallow slider body clicks.

True          Allow slider body clicks.

Data Type	Integer (Boolean)


BorderStyle
BorderStyle Property

Description

Sets or returns the style of the border.

Visual Basic

[form].MyCtrl.BorderStyle[ = setting% ]

Visual C++

pMyCtrl->GetNumProperty(BorderStyle)

pMyCtrl->SetNumProperty(BorderStyle, setting)

Remarks

Setting                Description

0                          no thick border

1                          thick border

Data Type	Integer (Enumerated)


BtnCnt
BtnCnt Property

Description

Returns the number of logical buttons a control has. Not valid for slider controls.

Visual Basic

[form].MyCtrl.BtnCnt

Visual C++

pMyCtrl->GetNumProperty(BtnCnt)

Remarks

Setting                Description

1-n                       (Default = 1)

n is number of buttons. READ/ONLY property. You cannot set the number of buttons a control has at run time. You can only define this information using VBXPRESS.EXE.

Data Type	Integer (Enumerated)


BtnPtr
BtnPtr Property

Description

Sets or returns the internal pointer to the active button on a toolbar or palette.

Visual Basic

[form].MyCtrl.BtnPtr[ = setting% ]

Visual C++

pMyCtrl->GetNumProperty(BtnPtr)

pMyCtrl->SetNumProperty(BtnPtr, setting)

Remarks

Setting                Description

1-n                       (Default = 1)

n is number of buttons. You use the pointer to indicate which button on a multibutton control you are referencing.  Used in conjunction with BtnState property to programmatrically turn buttons ON and OFF.

Data Type 	Integer


BtnState
BtnState Property

Description

Sets or returns the current state of the button pointed to by the BtnPtr property (above).

Visual Basic

[form].MyCtrl.BtnState[ = setting% ]

Visual C++

pMyCtrl->GetNumProperty(BtnState)

pMyCtrl->SetNumProperty(BtnState, setting)

Remarks

Setting                Description

0                          UP/ENABLED -

1                         DOWN/ENABLED 1                           DISABLED

Data Type	Integer (Enumerated)


Caption
Caption Property

Description

Sets or returns the caption displayed in floating controls.

Visual Basic

[form].MyCtrl.Caption[ = text$ ]

Visual C++

pMyCtrl->GetStrProperty(Caption)

pMyCtrl->SetStrProperty(Caption, text)

Remarks

The caption is only visible when the Float property is TRUE.

Data Type	String


Clicks
Clicks Property

Description

Sets or returns whether or not slider control makes a click noise when the user moves the arm from detent to detent.

Visual Basic

[form].MyCtrl.Clicks[ = {True | False} ]

Visual C++

pMyCtrl->GetNumProperty(Clicks)

pMyCtrl->SetNumProperty(Clicks, {True | False})

Remarks

Setting                Description

False                   (Default) Disallow click sound.

True                     Allow click sound.

Data Type	Integer (Boolean)


Cols
Cols Property

Description

Returns the number of columns of buttons a control has.

Visual Basic

[form].MyCtrl.Cols

Visual C++

pMyCtrl->GetNumProperty(Cols)

Remarks

Setting                Description

1-n                       (Default = 1)

n is number of buttons. READ/ONLY property. You cannot set the number of columns a control has at run time. You can only define this information using VBXPRESS.EXE.

Data Type	Integer (Enumerated)


DragIcon
DragIcon Property

Description

Sets the icon to be used when the control is used for drag-and-drop operations.

Visual Basic

[form].MyCtrl.DragIcon[ = setting% ]

Remarks

Setting                Description

(none)                  (Default) No icon is used.

(icon)                    Icon to be displayed

Data Type	Integer


DragMode
DragMode Property

Description

Determines if automatic or manual dragging is used for drag-and-drop operations.

Visual Basic

[form].MyCtrl.DragMode[ = setting% ]

Remarks

Setting                Description

0                          Manual

1                          Automatic

Data Type	Integer (Enumerated)


Enabled
Enabled Property

Description

Sets or returns the enabled or disabled state of a button pointed to by the BtnPtr property.

Visual Basic

[form].MyCtrl.Enabled[ = {True | False} ]

Visual C++

pMyCtrl->GetNumProperty(Enabled)

pMyCtrl->SetNumProperty(Enabled, {True | False})

Remarks

Setting                Description

False                   (Default) Button is enabled.

True                     Button is disabled.

Data Type	Integer (Boolean)


Float
Float Property

Description

Sets or returns the floating state a control.

Visual Basic

[form].MyCtrl.Float[ = {True | False} ]

Visual C++

pMyCtrl->GetNumProperty(Float)

pMyCtrl->SetNumProperty(Float, {True | False})

Remarks

Setting                Description

False                   (Default) Control is not floating.

True                     Control is floating. Floating controls have a caption and may be moved about the screen by the user.

Data Type	Integer (Boolean)


hBMP
hBMP Property

Description

Returns the Windows handle to the bitmap image of the controls

Visual Basic

[form].MyCtrl.hBMP

Visual C++

pMyCtrl->GetNumProperty(hBMP)

Remarks

Setting                Description

hBmp                   Windows handle to a bitmap The return value is a windows bitmap handle to the image of the control. For sliders this is the image handle to the slider body.

Data Type	Integer


hDC
hDC Property

Description

Returns the Windows handle to the device context of the control.

Visual Basic

[form].MyCtrl.hDC

Visual C++

pMyCtrl->GetNumProperty(hDC)

Remarks

Setting                Description

hDC                   Windows handle to a device context.

The return value is a windows device context handle for the control.

Data Type	Integer


hWnd
hWnd Property

Description

Returns the Windows handle of the control.

Visual Basic

[form].MyCtrl.hWnd

Visual C++

pMyCtrl->GetNumProperty(hWnd)

Remarks

Setting                Description

hWnd                   Windows handle to control.

The return value is a windows handle for the  control.

Data Type	Integer


Index
Index Property

Description

Sets or returns the control array number.

Visual Basic

[form].MyCtrl.Index[ = setting% ]

Remarks

VBXpress VBXs fully support Visual Basic control arrays. Control arrays are covered in the Visual Basic user manuals. Look there for more information on control arrays.

Data Type	Integer


Left
Left  Property

Description

Sets or returns the left position of the control.

Visual Basic

[form].MyCtrl.Left [ = setting% ]

Visual C++

pMyCtrl->GetNumProperty(Left)

pMyCtrl->SetNumProperty(Left, setting)

Remarks

Setting                Description

xpos                     Left edge of control.

Note that for Visual Basic, the value returned depends upon ScaleMode property of parent form.

Data Type	Integer


MaxVal
MaxVal Property

Description	Sets or returns the maximum value for a slider control.

Visual Basic	[form].MyCtrl.MaxVal[ = setting& ]

Visual C++	pMyCtrl->GetNumProperty(MaxVal)

pMyCtrl->SetNumProperty(MaxVal, setting)

Remarks	setting& must be between -2,147,483,648 and +2,147,483,647.

Data Type	Long


MinVal
MinVal Property

Description	Sets or returns the minimum value for a slider control.

Visual Basic	[form].MyCtrl.MinVal [ = setting& ]

Visual C++	pMyCtrl->GetNumProperty(MinVal)

pMyCtrl->SetNumProperty(MinVal, setting)

Remarks	setting& must be between -2,147,483,648 and +2,147,483,647.

Data Type	Long


MousePointer
MousePointer Property

Description	Sets or returns the cursor value to be displayed when the mouse is over the control.

Visual Basic	[form].MyCtrl.MousePointer[ = setting% ]

Visual C++

pMyCtrl->GetNumProperty(MousePointer)

pMyCtrl->SetNumProperty(MousePointer, setting)

Remarks

Setting                Description

0             (Default) standard arrow cursor

1             Arrow

2             Cross

3             I-Beam

4             Icon

5             Size

6             Size NE SW

7             Size N S

8             Size NE Se

9             Size WE

10            Up Arrow

11            Hour Glass

12            No Drop

Data Type	Integer (Enumerated)


Name
Name Property

Description	Returns the current state of the button pointed to by the BtnPtr property (above).

Visual Basic	[form].MyCtrl.Name

Visual C++	pMyCtrl->GetStrProperty(Name)

Remarks	Returns name of control

Data Type	String


Parent
Parent Property

Description	Returns the Windows handle (hWnd) of the parent container of the control.

Visual Basic	[form].MyCtrl.Parent

Remarks	Returns the Windows handle of the container or parent of the control.

Data Type	Integer


Rows
Rows Property

Description

Returns the number of rows of buttons a control has.

Visual Basic

[form].MyCtrl.Rows

Visual C++

pMyCtrl->GetNumProperty(Rows)

Remarks

Setting                Description

1-n                       (Default = 1)

n is number of buttons.READ/ONLY property. You cannot set the number of rows a control has at run time. You can only define this information using VBXPRESS.EXE.

Data Type	Integer (Enumerated)


Style
Style Property

Description

Sets or returns the action style of the control.

Visual Basic

[form].MyCtrl.Style[ = setting% ]

Visual C++	pMyCtrl->GetNumProperty(Style)

pMyCtrl->SetNumProperty(Style, setting)

Remarks	Setting                Description

0             COMMANDBUTTON

1             COMMANDBUTTON+NOWAIT

2             TOGGLEBUTTON

3             TOGGLEBUTTON+NOWAIT

4             OPTIONBUTTON

5             TOGGLEBUTTON+NOWAIT

6             DELAYBUTTON

7             SPINBUTTON

Data Type	Integer


TabIndex
TabIndex Property

Description	Sets or returns the tab order of a control.

Visual Basic	[form].MyCtrl.TabIndex[ = setting% ]

Visual C++	pMyCtrl->GetNumProperty(TabIndex)

pMyCtrl->SetNumProperty(TabIndex, setting)

Remarks	setting% is from 0 to (n - 1) when n is the number of controls on the form.

Data Type	Integer (Enumerated)


TabStop
TabStop Property

Description	Determines whether the Tab key may be used to set the focus to a control.

Visual Basic	[form].MyCtrl.TabStop[ = {True | False} ]

Visual C++

pMyCtrl->GetNumProperty(TabStop)

pMyCtrl->SetNumProperty(TabStop, {True | False})

Remarks

Setting                Description

False                   (Default) Tab stop is enabled.

True                     Tab stop is disabled.

Data Type	Integer (Boolean)


Tag
Tag Property

Description	Provides extra string storage space for  control.

Visual Basic	[form].MyCtrl.Tag[ = setting$ ]

Visual C++	pMyCtrl->GetNumProperty(Tag)

pMyCtrl->SetNumProperty(Tag, setting)

Remarks	Use to hold data temporarily.

Data Type	String


Top
Top Property

Description	Sets or returns to top edge of a control.

Visual Basic	[form].MyCtrl.Top[ = setting% ]

Visual C++	pMyCtrl->GetNumProperty(Top)

pMyCtrl->SetNumProperty(Top, setting)

Remarks	Setting                Description

ypos                     Top edge of control.

Note that for Visual Basic, the value returned depends upon ScaleMode property of parent form.

Data Type	Integer


Value
Value Property

Description	Sets or returns the value for a slider control.

Visual Basic	[form].MyCtrl.Value[ = setting& ]

Visual C++	pMyCtrl->GetNumProperty(Value)

pMyCtrl->SetNumProperty(MinVal, setting)

Remarks	setting& must be between -2,147,483,648 and +2,147,483,647.

Setting this property causes the slider arm to move to the appropriate position on the slider body.

Data Type	Long


Visible
Visible Property

Description

Visual Basic	[form].MyCtrl.Visible[ = {True | False} ]

Visual C++	pMyCtrl->GetNumProperty(Visible)

pMyCtrl->SetNumProperty(Visible, {True | False})

Remarks	Setting	Description

False	Control is not visible.

True	(Default)  Control is visible.

Data Type	Integer (Boolean)


VBX Options

The VBXs Options Tab dialog allows you to choose those properties and events your control will have. The following options are available:

Allow design-time use of VBX - Checking this option allows this VBX to be used within Visual Basic or Visual C++ development environment. When not checked, the VBX will not run in the development environment.

Allow run-time use of VBX - Checking this option allows this VBX to be used within a compiled Basic or Visual C++ program. When not checked, the VBX will not run as in compiled EXE program.

Add .GOTFOCUS event - Checking this option adds a GotFocus() event to your program.

Add .LOSTFOCUS event - Checking this option adds a LostFocus() event to your program.

Add .VISIBLE property - Checking this option adds a .VISIBLE property to your VBX.

Add .FLOAT property - Checking this option adds a .FLOAT property to your VBX. A .FLOAT property may be set it to FALSE or TRUE, turning floating off or on. A VBX without this option can never be floating.

Add .STYLE property - Checking this option adds a .STYLE property to your VBX. Using this option allows you to change the style of the control at design time or run time.

Add .ROWS property - Checking this option export a READ ONLY .ROWS property from your VBX to your program. Use this to determine the number of rows of buttons a control has.

Add .BTNCNT property - Checking this option export a READ ONLY .BTNCNT property from your VBX to your program. Use this to determine the number of buttons a control has.

Add .COLS property - Checking this option export a READ ONLY .COLS property from your VBX to your program. Use this to determine the number of columns of buttons a control has.

Add .CLICKS property - Checking this adds a .CLICKS property to your VBX. Use this to turn sound effects on or off for this control. NOTE: .CLICKS is only valid for slider controls.

Add .BODYCLICK property - Checking this adds a .BODYCLICK property to your VBX. Use this option to move the slider arm by clicking on the slider body on either side of the slider arm. NOTE: .BODYCLICK is only valid for slider controls.

Show info message on load - Checking this causes the about box to show automatically when the control is loaded. Use this for shareware or demo controls.

Add .ABOUT property - Checking this adds adds an about box to your control. The information in the Version Information Tab is used for the about box.


Version Information

The Version Information Tab dialog allows you to add version-information to your VBX. This information is used for the (About)  property of your control. It is also used if you have created a control with the Show info message on load, flag set when the control is loaded.

Version-information contains the following information:

File Name

Specifies the name of this control when used from within the Visual Basic or Visual C++ environment.  For example, mcCtrl.

Company Name

Specifies the company that produced the VBX. For example, Marquis Computing, Inc. or Zoschke Data GmbH.

File Description

Specifies a file description to be presented to users. For example, Custom Control Design System or Color Control Slider.

File Version

Specifies the version number of the VBX. For example, Version 1.01 or Version 2.01.RC2 (5/8/94) BETA.

Legal Copyright

Specifies all copyright notices that apply to the VBX. This should include the full text of all notices, legal symbols, copyright dates, etc.. For example, (C)1994 Marquis Computing, Inc. All Rights Reserved..

Comments

Any comments of messages to display to the user of your VBX. For example Call 1-800-555-1212 to order your cool tool package before midnight tonight -- only 29.95!


Control Workspace & New Control Object

The new control object is the current custom control you are defining using VBXpress. It resides within the Control Workspace. You may resize or move the Control Workspace as needed.

You can move an object by holding down the control button and pressing and holding the left mouse button down (CTRL+LEFT MOUSE). Releasing the left mouse button moved the object to the new position.

Pressing the RIGHT mouse button on the object displays the Action Style menu popup.

For slider controls, pressing the RIGHT mouse button on the slider arm invokes a fine tuning adjustment dialog box where you can set the position of the slider are manually. You can also drag the body or arm of a slider using the CTRL+LEFT mouse button method.


Define VBX

The Define VBX dialog is where you enter the characteristics that describe the object you are creating.

You enter the objects height, width, number of rows and number of columns.

You choose the control style

Choosing the Apply button modifies the object as defined.


Preferences Dialog

The Preference Dialog provides options regarding the functioning of the Control Editor. You invoke this dialog by clicking the right mouse button on screen objects. When using the right mouse method to bring up this dialog, only the options for that object are editable. You may also use the Edit...Preferences dialog from the main menu to bring up this dialog. When using this method, all options are editable.

Choosing Cancel exits the Preferences Dialog without saving any changes. Choosing Save saves all changes and then exits the Preferences Dialog.

Bitmap Editor

The Bitmap Editor option allows you to enter the name of a bitmap editor that VBXpress will use when you need to edit bitmaps. Enter the name and path of your editor.

Preferences

Under preferences you may choose from the following program options. To keep any changes made, choose the Save Button. To discard any changes made choose the Cancel Button.

Prompt To Save Changes When checked this option prompts when an action will change the control. Default is ON.

Autoload Last Control When checked this option automatically loads the control that was loaded when VBXpress was closed. Default is ON.

Use System Sounds When checked this option allows VBXpress to use system sounds via a sound board. Default is OFF.

Use 3D Effects When checked this option allows VBXpress to use 3D dimensional appearance. Default is OFF.

Run Conductor At Startup When checked this option run the Conductor each time VBXpress is started. Default is OFF.

Keep Backups When checked this option makes VBXpress to create a backup file with a .BAK extension for any resource file (.VBM extension) about to be overwritten. Default is ON.

User Information The User Information button allows you to enter default values for the Customize Control Dialog. (See manual for details on the Customize Control Dialog.)


Control Style

This Dialog provides options regarding the functioning of the new control. You invoke this dialog by clicking the right mouse button on screen objects. When using the right mouse method to bring up this dialog, only the options for that object are editable. The Control Style option determines the method of interaction of the control being created.

It must be one of the following types:

COMMANDBUTTON

COMMANDBUTTON + NOWAIT

TOGGLEBUTTON

SPINBUTTON

OPTIONBUTTON

HORIZONTALSLIDE

HORIZONTALSLIDE + NOWAIT

VERTICALSLIDE

VERTICALSLIDE + NOWAIT


Enter Text Dialog

The Enter Text Dialog allows you to enter text and choose its font and style. You use the mouse to draw a rectangle on the new control. Then use this dialog to create text. Text created and placed using this dialog is not editable.

To change the fonts appearance, choose the fonts button.

When done choose the ok button which will copy the text into the destination rectangle you have drawn on the new control.


Preferences - General

The Preference Dialog provides options regarding the functioning of the Control Editor. You invoke this dialog by clicking the right mouse button on screen objects. When using the right mouse method to bring up this dialog, only the options for that object are editable. The General option is where you control VBXpress system options.

Prompt To Save Changes - turns on/off the prompting to save changes in controls.

Autoload Last Control - Loads the last control edited when the Control Editor was exited.

Use System Sounds - Enables the use of system sounds as defined under Windows. Requires a sound board.

Use 3D Effects - Enables the use of special graphics effects that give a three dimensional effect to windows.


Preferences - Directories

The Preference Dialog provides options regarding the functioning of the Control Editor. You invoke this dialog by clicking the right mouse button on screen objects. When using the right mouse method to bring up this dialog, only the options for that object are editable.The Directories option controls which bitmap editor is used by the Bitmap Editor is chosen.

Choose the Browse button to point-and-shoot a bitmap editor.


Status Area

The Status Area provides information regarding the button chosen and which button has focus.


Tool Bar

The Control Editor toolbar contains a context sensitive help control. Clicking on the control turns the mouse pointer into a question mark. Click on any item on the screen for help on that item.

You may also use the F1 key where applicable for context sensitive help as well.

The tool bar contains short-cuts to often used commands. Following are the commands invoked by the tool palette buttons.

 Cuts highlighted area to the clipboard. Same as Edit...Cut dialog.

 Copies highlighted area to the clipboard. Same as Edit...Copy dialog.

 Pastes the contents of the clipboard to the active screen object. Same as Edit...Paste dialog.

 Invokes the text editor. Same as Text...Enter Text dialog.

 Redraw the button borders. Same as Edit...Redraw Object dialog.

  Undoes the last action. Same as Edit...Undo dialog.

 Invokes the colors choice pop up menu. Same as Colors menu option.


Palette

The Palette contains the graphics images you will copy to the custom control object you are defining. The palette looks different depending on the type of object you are creating.

Point & Shoot Palette

The built in palette allows Point & Shoot button copying. When the palette window caption says Point & Shoot Palette you can copy the images to your control by simply clicking the LEFT mouse button on the control button of choice, then clicking the LEFT mouse button on the palette button.

Area Select Palette

If the palette says Area Select Palette then you will need to draw rectangle on your control using the SHIFT+LEFT mouse button. Then draw a rectangle around the graphic image on the palette. When done, click the LEFT mouse button inside of the rectangle on the palette to copy it into the control.

You may also load any VBXpress palette, Windows bitmap or Windows Meta File at any time using the File...Load Palette dialog.


Highlight Width

Highlight width refers to the number of pixels of shading to be displayed along the top and left of the control. Most toolbars use a highlight width of 1, and use a highlight color of white.

 This bitmap has a highlight width of 2 and a shadow width of 2.

  This bitmap has a highlight width of 1 and a shadow width of 2.


Shadow Width

Shadow width refers to the number of pixels of shading to be displayed along the bottom and right of the control. Most toolbars use a shadow width of 2, and use a shadow color of dark gray.

 This bitmap has a highlight width of 2 and a shadow width of 2.

  This bitmap has a highlight width of 1 and a shadow width of 2.


Button Width

Button Width refers to the horizontal width of the button or toolbar, expressed in pixels.

When creating a command button, Button Width is the width of the button. When creating a toolbar containing multiple buttons, Button Width is the width of each individual button, therefore the width of the toolbar is determined to be Columns * Button Width.


Button Height

Button Height refers to the vertical height of the button or toolbar, expressed in pixels.

When creating a command button, Button Height  is the height of the button. When creating a toolbar containing multiple buttons, Button Height is the height of each individual button, therefore the height of the toolbar is determined to be Rows* Button Height .


Columns & Rows

Columns refers to the number of columns a control will have.

Rows refer to the number of rows of buttons a control will have.

VBXpress uses rows and columns to describe the horizontal or vertical grouping of buttons. All controls except slider controls require this column and row information.  Button are numbered from left to right and from top to bottom. For example a vertical tool bar is numbered from top down.

Buttons are numbered from left to right and from top to bottom. For example a vertical tool bar is numbered as 1, 2, 3, etc.


Colors

VBXpress uses Windows Common Dialogs for color selection. Choose the color you desire and then press the OK button.

Custom colors are saved when the program ends.


Apply Button

The Apply button commits the data entered into the Dimensions entry fields and creates or modified the button or toolbar. Enter the button dimensions in the Dimensions dialog box and then press the Apply button to create the button.

Note that changing the dimensions of an object erases any graphics you might have copied already.


Help
Help Button

The Help button allows you to invoke drag-and-drop help. Press and hold the mouse button, then drag the mouse to any screen and object and release the mouse to see help on that item.


Menu

VBXpress ControlEditor menu contains all the functions available to the user.

Short cuts to menu options are provided via hot keys, a tool bar and a set of floating tool boxes.


Tool Bar Images

This dialog allows you to edit the images used in the Toolbox of Visual Basic or the Visual C++ Tool Palette.

You can use the defaults as is or edit them.

To edit, simply double-click on the image.


Conductor
VBXpress Conductor

The Conductor provides step-by-step directions and guidance when creating a VBX. To run the conductor choose the Help...VBXpress Conductor... dialog from the main menu.

The Conductor has three main steps, and six individual actions. These three steps are:

1.	Define Control

2.	Customize Control

3.	Make VBX

Each is covered in detail below. As you complete each step, there is a menu option or command button labeled Next Step. The Next Step option concludes the current operation and moves you to the next step in the process.

Define Control

This step is where you will define the structure of your VBX. You enter the number of rows and columns of buttons. You choose the controls style. You determine control type as well. There is only one action from the Conductor under this step.

Choose Step 1. You will see the Define Control Dialog:

1.	Choose a template from the Control Type list. (See explanation of Control Types in manual.)

2.	If desired edit the structure of the control using the Structure Window options of Highlight Width, ShadowWidth, Button Height, Button Width, Columns and Rows

3.	Choose an Action Style from the Action Style list. (See explanation of Action Styles in manual.)

4.	Choose NOWAIT for NOWAIT functionality (See explanation of NOWAIT in manual.)

5.	If you are not creating a slider control, choose Rocker or Boxed button style. (See explanation of Rocker and Boxed styles in manual.)

6.	Choose Floating if you want the control to be able to be moved by the user. Optionally, add a caption for the title bar of the floating control.

7.	To see how the control will appear, without committing to the changes, choose the Preview Button.

8.	Choose the Next Step button if satisfied with the changes made; choose Cancel to exit the dialog and discard changes made.

Choose Step 2. You will be prompted to set control colors. (See discussion on colors in manual.)

Customize VBX

This step is where you choose VBX events and properties; add version information; and add text and graphics to your controls.

Choose Step 3. You will be prompted to select control events and properties, and to enter file version information.

1.	If you desire, choose Clear to remove all options checked and all text entered for version information.

2.	Choose those events and properties you wish your control to have.

3.	Enter version information to be displayed in your controls About Box.

4.	Choose the Next Step button if satisfied with the changes made; choose Cancel to exit the dialog and discard changes made.

Choose Step 4. You will see the Palette Window. Depending upon the control being made (slider or not) you will have either the Point & Shoot Palette or the Area Select Palette. (See manual for explanation of palette types).

1.	Choose File...Palettes... from the Palette Window menu to select another palette.

2.	Copy graphics to control. (See manual for details about placing graphics onto controls.)

3.	Choose Text from the Palette Window menu to invoke the Enter Text dialog. (See manual for details about placing text onto controls.)

4.	When satisfied with appearance of control choose the File...Next Step from the Palette Window menu. This will return you to the Conductor.

Make VBX

This step is where you edit/choose the image for the Visual Basic or Visual C++ toolbox; save the control definition; and make the VBX.

Choose Step 5. You will be prompted to edit icons for the Visual Basic Toolbox/Visual C++ Control Palette. There are four images required for a VBX. They are VGA Up, VGA Down, Monochrome VGA and EGA. These are used by Visual Basic or Visual C++ to represent the VBX.

IMAGES ARE REQUIRED TO BE OF A SPECIFIC SIZE AND TYPE. BE SURE THAT YOU CREATE APPROPRIATE IMAGES OR THEY WILL APPEAR WRONG AFTER COMPILING, AND MAY CAUSE THE VBX TO OPERATE INCORRECTLY.

USE A RESOURCE EDITING TOOL TO ENSURE BITMAPS ARE PROPER SIZE, TYPE AND STYLE.

SEE APPENDIX A OF THE MANUAL FOR DETAILS OF THE REQUIRED STRUCTURE OF BITMAPS.

1.	If you desire, choose Reset to remove current images and use VBXpress default images.

2.	Double-Click on the image to edit, or use the tab key to move from image to image and then choose the Edit Button to edit the image with focus. (The bitmap editor is defined under the preferences section.)

3.	To see how the control will appear, without committing to the changes, choose the Preview Button.

4.	Choose the Next Step button if satisfied with the changes made; choose Cancel to exit the dialog and discard changes made.

Choose Step 6 to save the definition into a resource file so that it may be compiled into a VBX.

Choose Step 7 to create a VBX.

When complete with all 6 steps, choose the Finish command button from the Conductors screen. This will end the Conductor session and return you to the menu-mode of VBXpress.


COMMANDBUTTON

Defines a style of action which acts like a standard Windows command button.


TOGGLEBUTTON

Defines a style of action for a tool bar or tool palette in which any button may be on or off.


OPTIONBUTTON

Defines a style of action for a tool bar or tool palette in which only one button may be on or off at a given instant.


DELAYBUTTON

Defines a style of action for a tool bar or tool palette which is a TOGGLEBUTTON descendent. When the mouse is clicked and released on DELAYBUTTON object buttons, it acts like a normal button of type TOGGLEBUTTON. However, when the mouse is held down on the button, the DELAYBUTTON objects button returns a unique action. DELAYBUTTON behavior requires pressing and holding down the mouse button on a button.


NOWAIT

Defines a style of action which works with other styles. NOWAIT is not used alone. When added to another object style constant, causes the object to return immediately with no confirmation.


SPINBUTTON

Defines a style of action which acts as a button which toggles from on to off to on.


VERTICALSLIDE

The thumb on a vertical slide control moves from top to bottom and bottom to top.


HORIZONTALSLIDE

The thumb on a horizontal slide control moves from left to right and right to left.